API (Python venv)
venv.create()
EnvBuilder を指定されたキーワード引数を使って作成し、その create() メソッドに env_dir 引数を渡して実行します。
venv.EnvBuilder
create
仮想環境を持つことになるターゲットディレクトリ (絶対パスあるいは現在のディレクトリからの相対パス) を指定し、仮想環境を作成します。 create メソッドは、指定されたディレクトリに仮想環境を構築するか、適切な例外を送出します。
code:フックを実装.py
def create(self, env_dir):
env_dir = os.path.abspath(env_dir)
context = self.ensure_directories(env_dir)
self.create_configuration(context)
self.setup_python(context)
self.setup_scripts(context)
self.post_setup(context)
この5つのメソッドをオーバーライドさせる意図
ensure_directories()
仮想環境のディレクトリとすべての必要なサブディレクトリのうちまだ存在しないものを作成し、コンテキストオブジェクトを返します。
create_configuration()
仮想環境に pyvenv.cfg 設定ファイルを作成します。
homeキー
このコマンドを呼び出した Python のインストール場所を指します(仮想環境の作成) include-system-site-packages キー
venv が --system-site-packages オプションをつけて実行されたなら true で、そうでなければ false (仮想環境の作成) setup_python()
Python 実行ファイルのコピーまたはシンボリックリンクを仮想環境に作成します。
setup_scripts()
プラットフォームに対応した有効化スクリプトを仮想環境にインストールします。
post_setup()
サードパーティーライブラリがオーバーライドするための空のメソッドです。このメソッドをオーバーライドして、仮想環境構築後にパッケージのプリインストールなどのステップを実装できます。
upgrade_dependencies()